//=============================================================================
/**
 *
 *	@file		museum.h
 *	@brief		ポケスロン ミュージアム ヘッダ
 *	@author		hosaka genya
 *	@data		2008.06.24
 *
 */
//=============================================================================
#include "savedata/pkthln_svdata.h"

//=============================================================================
/**
 *								定数定義
 */
//=============================================================================

//=============================================================================
/**
 *								構造体定義
 */
//=============================================================================
/// コースレコード画面：外部公開ワーク
typedef struct _PKTH_MUSEUM_COURSE_PARAM {
	const PKTH_COURSE*		p_crs_dat;		///< [in] コースレコード用データ
	BOOL					b_museum_open;	///< [in] ミュージアム４開放フラグ
} PKTH_MUSEUM_COURSE_PARAM;

///	ポケモンレコード画面：外部公開ワーク
typedef struct {
	const ZUKAN_WORK*	p_zkn;				///< [in] ポケモン図鑑用ワーク
	const u8*			p_medal_dat;		///< [in] ポケモンレコード用メダルデータ
	BOOL				b_zukan_zenkoku;	///< [in] ポケモン図鑑のぜんこくフラグ
	BOOL				b_museum_open;		///< [in] ミュージアム４開放フラグ
} PKTH_MUSEUM_PK_PARAM;


/// 競技レコード画面：外部公開ワーク
typedef struct _PKTH_MUSEUM_EV_PARAM {
	const PKTH_EVT_DATA*		p_ev_alone;			///< [in] 競技データ(ひとり用)
	const PKTH_COMM_EVT_DATA*	p_ev_comm;			///< [in] 競技データ(つうしん用)
	const u16*					p_best_score_dat;	///< [in] 競技最高得点(競技毎の配列)
	const MYSTATUS*				p_st;				///< [in] トレーナー情報
	BOOL						b_museum_open;		///< [in] ミュージアム４開放フラグ
} PKTH_MUSEUM_EV_PARAM;

/// トレーナーレコード画面：外部公開ワーク
typedef struct _PKTH_MUSEUM_TR_PARAM {
	PKTHLN_SV_DATA_PTR	p_sv;	///< [in] ポケスロン用セーブデータ
	const MYSTATUS*		p_st;	///< [in] トレーナー情報
} PKTH_MUSEUM_TR_PARAM;

//=============================================================================
/**
 *								公開関数
 */
//=============================================================================
///オーバーレイプロセス
extern PROC_RESULT MuseumCourseProc_Init( PROC *proc, int *seq );
extern PROC_RESULT MuseumCourseProc_Main( PROC *proc, int *seq );
extern PROC_RESULT MuseumCourseProc_End( PROC *proc, int *seq );

extern PROC_RESULT MuseumPokemonProc_Init( PROC *proc, int *seq );
extern PROC_RESULT MuseumPokemonProc_Main( PROC *proc, int *seq );
extern PROC_RESULT MuseumPokemonProc_End( PROC *proc, int *seq );

extern PROC_RESULT MuseumEventProc_Init( PROC *proc, int *seq );
extern PROC_RESULT MuseumEventProc_Main( PROC *proc, int *seq );
extern PROC_RESULT MuseumEventProc_End( PROC *proc, int *seq );

extern PROC_RESULT MuseumTrainerProc_Init( PROC *proc, int *seq );
extern PROC_RESULT MuseumTrainerProc_Main( PROC *proc, int *seq );
extern PROC_RESULT MuseumTrainerProc_End( PROC *proc, int *seq );

